package com.zlx.service;

import com.zlx.dao.UserDao;
import com.zlx.entities.User;
import com.zlx.utils.Page;

import java.util.List;

/**
 * @Author 周罗校
 * @Description
 * @ClassName UserService
 * @date 2020.09.23 11:23:10
 * 该版权归周罗校所有，最终解释权以官方为准
 */
public class UserService {
    private UserDao userDao = new UserDao();
    /**
     * @Author 周罗校
     * @Description 检查用户登陆
     * @Param [username, password]
     * @return com.zlx.entities.User
     * @Date 2020.09.23 11:24:06
     *
     * @param username
     * @param password*/
    public User checkLogin(String username, String password){
        return userDao.checkLogin(username,password);
    }
    /**
     * @Author 周罗校
     * @Description 根据用户名查询所有用户的记录数
     * @Param [name]
     * @return java.lang.Integer
     * @Date 2020.09.23 15:24:38
     **/
    public Integer getUserCount(String name) {
        return userDao.getUserCount(name);
    }
    /**
     * @Author 周罗校
     * @Description 查找用户列表
     * @Param [page, name]
     * @return java.util.List<com.zlx.entities.User>
     * @Date 2020.09.23 15:31:37
     **/
    public List<User> getList(Page<User> page, String name) {
        List<User> userList = userDao.getUserList(page, name);

        return userList;
    }
    /**
     * @Author 周罗校
     * @Description 根据id删除用户
     * @Param [id]
     * @return void
     * @Date 2020.09.23 17:43:50
     **/
    public void deleteUserById(Integer id){
        userDao.deleteUserById(id);
    }
    /**
     * @Author 周罗校
     * @Description 根据id查询用户
     * @Param [id]
     * @return com.zlx.entities.User
     * @Date 2020.09.23 18:34:26
     *
     * @param id*/
    public User getUserById(Integer id){
        return userDao.getUserById(id);
    }
    /**
     * @Author 周罗校
     * @Description 更新用户数据
     * @Param [user]
     * @return void
     * @Date 2020.09.23 19:40:10
     **/
    public void update(User user){
        userDao.update(user);
    }
    /**
     * @Author 周罗校
     * @Description 根据id修改头像路径信息
     * @Param [pic, id]
     * @return void
     * @Date 2020.09.24 20:08:26
     **/
    public void updatePicById(String pic,Integer id){
        userDao.updatePicById(pic,id);
    }
    /**
     * @Author 周罗校
     * @Description 根据id查询User
     * @Param [deptId]
     * @return java.util.List<com.zlx.entities.User>
     * @Date 2020.09.25 16:19:44
     **/
    public List<User> getUserByDeptId(Integer deptId){
        return userDao.getUserByDeptId(deptId);
    }
    /**
     * @Author 周罗校
     * @Description 修改密码
     * @Param [user]
     * @return void
     * @Date 2020.09.27 13:41:27
     **/
    public void updatePasswordByUsername(User user){
        userDao.updatePasswordByUsername(user);
    }

    public User findByQqOpenId(String openID) {
        return userDao.queryUserByQxOpenid(openID);
    }

    public void insertUser(User user) {
        userDao.insertQQUser(user);
    }
}
